//
//  SampleUIHomeViewController.swift
//
//  Copyright (c) 2016-present, LY Corporation. All rights reserved.
//
//  You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
//  copy and distribute this software in source code or binary form for use
//  in connection with the web services and APIs provided by LY Corporation.
//
//  As with any software that integrates with the LY Corporation platform, your use of this software
//  is subject to the LINE Developers Agreement [http://terms2.line.me/LINE_Developers_Agreement].
//  This copyright notice shall be included in all copies or substantial portions of the software.
//
//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
//  INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
//  DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//

import UIKit
import LineSDK

class SampleUIHomeViewController: UITableViewController {

    override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
        if identifier == "showMessageChooser" {
            let status = ShareViewController.localAuthorizationStatusForSendingMessage()
            switch status {
            case .authorized:
                return true
            case .lackOfPermissions(let p):
                UIAlertController.present(
                    in: self,
                    title: nil,
                    message: "Lack of permissions: \(p)",
                    actions: [.init(title: "OK", style: .cancel)]
                )
                return false
            case .lackOfToken:
                UIAlertController.present(
                    in: self,
                    title: nil,
                    message: "Please login first.",
                    actions: [.init(title: "OK", style: .cancel)]
                )
                return false
            }
        }
        return true
    }
}
